package com.ruoyi.framework.security;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.stereotype.Service;

/**
 * 密码服务
 *
 * @author ruoyi
 */
@Service
public class SysPasswordService
{
    /**
     * 登录账户锁定（Spring Security暂不实现，保留空方法）
     */
    public void validate(SysUser user, String password)
    {
        // TODO: 实现密码错误次数限制
    }

    /**
     * 解锁账户（Spring Security暂不实现，保留空方法）
     */
    public void unlock(String loginName)
    {
        // TODO: 实现账户解锁
    }

    /**
     * 密码匹配验证
     */
    public boolean matches(SysUser user, String password)
    {
        return SecurityUtils.matchesPassword(password, user.getPassword());
    }

    /**
     * 加密密码（兼容旧版3参数方法）
     */
    public String encryptPassword(String username, String password, String salt)
    {
        // Spring Security使用BCrypt，不需要salt
        return SecurityUtils.encryptPassword(password);
    }

    /**
     * 清除登录记录缓存
     */
    public void clearLoginRecordCache(String loginName)
    {
        // TODO: 实现登录记录缓存清除
    }
}

